Traditional storage systems use to store structured data as part of file systems, where specific information is stored based on directories hierarchy, or as part of databases, where specific information is stored based on a methodology of columns and rows. Today, more and more of the world's mass data constitutes unstructured data, as any content, from videos, music files, blogs, images, instant messages is being created, distributed and stored digitally. Unstructured data is expected to far outpace the growth of structured data. It is estimated that most of the amount of digitized information in the near future will come from unstructured data, and only few percent being driven by traditional structured data.
Today's dominant approach is to store unstructured data on file systems such as Network Attached Storage (NAS). However, NAS was designed when most of the content was much less digitized and unstructured data was not as prevalent as it is today.
Object storage has emerged as the preferred choice to handle the massive amounts of unstructured data, managed by some of the largest public cloud services like Amazon, Google and Facebook.
An object storage raises the level of abstraction presented by today's block devices. Instead of presenting the abstraction of a logical volume of unrelated blocks, addressed by their offset in a volume (i.e., their Logical Block Address (LBA)), an object storage appears as a collection of objects.
The object storage uses rich metadata attached to the data to carry “information about the information.” The metadata in the object storage enables users to easily search for data without knowing specific filenames, directory location, dates or any traditional file designations.
An individual object is a container of storage (object-data and object-metadata) that exposes an interface similar to a file. An object is different from a file in that a unique identifier is assigned and associated with each object. It allows objects to be stored in an infinitely vast flat address space containing billions of objects without the complexity file systems impose. Hence there is no directory hierarchy and the object's location does not have to be specified in the same way that a file's directory path has to be known in order to retrieve it.
Lower-level functionalities such as space management can be handled by the storage device, while the device is accessed through a standard object interface. The standard object store device (OSD) interface was defined by the SNIA OSD working group. The protocol is embodied over SCSI and defines a new set of SCSI commands, standardized as a T10 protocol.